function [Wavelength,RefractiveIndex] = importSegelsteinWaterRefractiveIndex(filename, startRow, endRow)
    %IMPORTFILE Import numeric data from a text file as column vectors.
    %   [WAVELENGTH,RefractiveIndex] = IMPORTFILE(FILENAME) Reads data from text file
    %   FILENAME for the default selection.
    %
    %   [WAVELENGTH,RefractiveIndex] = IMPORTFILE(FILENAME, STARTROW, ENDROW) Reads
    %   data from rows STARTROW through ENDROW of text file FILENAME.
    %
    % Example:
    %   [Wavelength,RefractiveIndex] = importfile('Segelstein.txt',1, 1264);
    %
    %    See also TEXTSCAN.
    
    % Auto-generated by MATLAB on 2019/01/04 18:58:50
    
    %% Initialize variables.
    delimiter = '\t';
    if nargin<=2
        startRow = 1;
        endRow = inf;
    end
    
    %% Read columns of data as text:
    % For more information, see the TEXTSCAN documentation.
    formatSpec = '%q%q%q%[^\n\r]';
    
    %% Open the text file.
    fileID = fopen(filename,'r');
    
    %% Read columns of data according to the format.
    % This call is based on the structure of the file used to generate this code. If an
    % error occurs for a different file, try regenerating the code from the Import Tool.
    textscan(fileID, '%[^\n\r]', startRow(1)-1, 'WhiteSpace', '', 'ReturnOnError', false);
    dataArray = textscan(fileID, formatSpec, endRow(1)-startRow(1)+1, 'Delimiter', delimiter, 'TextType', 'string', 'ReturnOnError', false, 'EndOfLine', '\r\n');
    for block=2:length(startRow)
        frewind(fileID);
        textscan(fileID, '%[^\n\r]', startRow(block)-1, 'WhiteSpace', '', 'ReturnOnError', false);
        dataArrayBlock = textscan(fileID, formatSpec, endRow(block)-startRow(block)+1, 'Delimiter', delimiter, 'TextType', 'string', 'ReturnOnError', false, 'EndOfLine', '\r\n');
        for col=1:length(dataArray)
            dataArray{col} = [dataArray{col};dataArrayBlock{col}];
        end
    end
    
    %% Close the text file.
    fclose(fileID);
    
    %% Convert the contents of columns containing numeric text to numbers.
    % Replace non-numeric text with NaN.
    raw = repmat({''},length(dataArray{1}),length(dataArray)-1);
    for col=1:length(dataArray)-1
        raw(1:length(dataArray{col}),col) = mat2cell(dataArray{col}, ones(length(dataArray{col}), 1));
    end
    numericData = NaN(size(dataArray{1},1),size(dataArray,2));
    
    for col=[1,2,3]
        % Converts text in the input cell array to numbers. Replaced non-numeric text with
        % NaN.
        rawData = dataArray{col};
        for row=1:size(rawData, 1)
            % Create a regular expression to detect and remove non-numeric prefixes and suffixes.
            regexstr = '(?<prefix>.*?)(?<numbers>([-]*(\d+[\,]*)+[\.]{0,1}\d*[eEdD]{0,1}[-+]*\d*[i]{0,1})|([-]*(\d+[\,]*)*[\.]{1,1}\d+[eEdD]{0,1}[-+]*\d*[i]{0,1}))(?<suffix>.*)';
            try
                result = regexp(rawData(row), regexstr, 'names');
                numbers = result.numbers;
                
                % Detected commas in non-thousand locations.
                invalidThousandsSeparator = false;
                if numbers.contains(',')
                    thousandsRegExp = '^[-/+]*\d+?(\,\d{3})*\.{0,1}\d*$';
                    if isempty(regexp(numbers, thousandsRegExp, 'once'))
                        numbers = NaN;
                        invalidThousandsSeparator = true;
                    end
                end
                % Convert numeric text to numbers.
                if ~invalidThousandsSeparator
                    numbers = textscan(char(strrep(numbers, ',', '')), '%f');
                    numericData(row, col) = numbers{1};
                    raw{row, col} = numbers{1};
                end
            catch
                raw{row, col} = rawData{row};
            end
        end
    end
    
    
    %% Exclude rows with non-numeric cells
    I = ~all(cellfun(@(x) (isnumeric(x) || islogical(x)) && ~isnan(x),raw),2); % Find rows with non-numeric cells
    raw(I,:) = [];
    
    %% Allocate imported array to column variable names
    Wavelength = cell2mat(raw(:, 1));
    RealIndex = cell2mat(raw(:, 2));
    ImagIndex = cell2mat(raw(:, 3));
    RefractiveIndex=RealIndex+1i*ImagIndex;
end
    
    
